// 手写防抖函数

// 函数防抖是指在事件被触发 n 秒后再执行回调，
// 如果在这 n 秒内事件又被触发，则重新计时。
// 这可以使用在一些点击请求的事件上，
// 避免因为用户的多次点击向后端发送多次请求。

// 函数防抖的实现
// https://juejin.cn/post/7016502001911463950
function debounce(fun, time) {
    let timer;
    return function () {
        clearTimeout(timer);
        let args = arguments;
        timer = setTimeout(() => {
            fun.apply(this, args);
        }, time);
    };
}